package com.yunxi.service.localService;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.service.IServicePlus;
import com.yunxi.core.web.ApiResult;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.hubToBiz.pojo.OrderActualSalesRespVO;
import com.yunxi.model.order.OrderCustomer;
import com.yunxi.order.pojo.*;

import java.util.List;

/**
 * <p>
 * 零售订单 服务类
 * </p>
 *
 * @author
 * @since 2019-05-29
 */
public interface OrderCustomerService extends IServicePlus<OrderCustomer> {

   OrderCustomerVO load(String orderNo);

   PageInfo<OrderCustomerExOrderOemSaveReqVO> convertGroupList(Integer pageNum, Integer pageSize,String partnerCode);

   List<String> getCustomerNo(OrderCustomerExOrderOemSaveReqVO v);

   List<OrderCustomerVO> allList(OrderCustomerVO orderCustomerVO)throws Exception;

   /**
    * 通过订单id查询车辆配置名称
    * @param orderCustomerId
    * @return
    * @throws Exception
    */
   String getCatalogNameByOrderId(String orderCustomerId)throws Exception;

   void assignSaler(OrderCustomer orderCustomer);

   void updateCancel(OrderCustomer oc);

   void cancelApply(OrderCustomer oc);

   List listAllByCustomerNo(OrderCustomerVO v);

   void unbindCar(OrderCustomer orderCustomer);

   void assignPartner(OrderCustomerVO orderCustomerVO);

   PageInfo<OrderCustomerVO> cancelPageWait(OrderCustomerVO v, Integer pageNum, Integer pageSize, LoginInfo loginInfo);

   String findCustomPackName(String customPackCodeS);

   List<OrderActualSalesRespVO> listByVinAndCity(OrderCustomerVO vo);

   ProductNameVO getNameByVO(String productCode);

    OrderCustomerVO getByOrderCustomerNo(String orderNo);

   String isDelivery(String orderCustomerNo);

   String isActualSales(String orderCustomerNo);

    void updateVinByOrderCutomerNo(String orderCustomerNo, String vin);

   void assignBatch(List<OrderCustomer> orderCustomerList);

   void updateVin(String vin);

   void updateByOrderCustomerNo(String orderCustomerNo);

   OrderCustomerVO getByVin(String vin);

   void cancel(OrderCustomer oc);

    List<OrderCustomerExportVO> exportOrder(OrderCustomerVO orderCustomerVO);
}
